package com.queclink.puzzle.common;

import javax.swing.*;
import java.awt.*;

/**
 * @author jim.li
 * @email jim.li@queclink.com
 * @date 2022-06-16 10:34:00
 */
public class PuzzlePanel extends JPanel {

    public static int[][] map = new int[7][8];

    @Override
    public void paint(Graphics g) {
        super.paint(g);// 清除残影
        // 显示分数，同时为版面美观，在界面上再加点东西
        // 画方块区右侧部分
        g.setColor(Color.blue);
        g.setFont(new Font("aa", Font.BOLD, 26));
//        g.drawString("score : " + score, 395, 100);

        //画游戏区的线格
        for (int i = 0; i < 7; i++) {
            for (int j = 0; j < 8; j++) {
                if (i > 5 && j > 2) {
                    continue;
                }
                switch (map[i][j]) {
                    case 1:
                        g.setColor(Color.RED);
                        g.fillRect(j * 100, i * 100, 100, 100);
                        break;
                    case 2:
                        g.setColor(Color.ORANGE);
                        g.fillRect(j * 100, i * 100, 100, 100);
                        break;
                    case 3:
                        g.setColor(Color.YELLOW);
                        g.fillRect(j * 100, i * 100, 100, 100);
                        break;
                    case 4:
                        g.setColor(Color.GREEN);
                        g.fillRect(j * 100, i * 100, 100, 100);
                        break;
                    case 5:
                        g.setColor(Color.BLUE);
                        g.fillRect(j * 100, i * 100, 100, 100);
                        break;
                    case 6:
                        g.setColor(Color.CYAN);
                        g.fillRect(j * 100, i * 100, 100, 100);
                        break;
                    case 7:
                        g.setColor(Color.MAGENTA);
                        g.fillRect(j * 100, i * 100, 100, 100);
                        break;
                    case 8:
                        g.setColor(Color.PINK);
                        g.fillRect(j * 100, i * 100, 100, 100);
                        break;
                    case 9:
                        g.setColor(Color.getHSBColor(0.1f, 0.2f, 0.3f));
                        g.fillRect(j * 100, i * 100, 100, 100);
                        break;
                    case 10:
                        g.setColor(Color.getHSBColor(0.2f, 0.3f, 0.4f));
                        g.fillRect(j * 100, i * 100, 100, 100);
                        break;
                    case 11:
                        g.setColor(Color.getHSBColor(0.3f, 0.4f, 0.5f));
                        g.fillRect(j * 100, i * 100, 100, 100);
                        break;
                    default:
                        g.setColor(Color.BLACK);
                        g.drawRect(j * 100, i * 100, 100, 100);
                        break;
                }
            }
        }
    }
}
